import ReactDOM from 'react-dom'
import './index.css'
//导入图片
import tp from './images/avatar.png'
import moment from 'moment'

//评论的数据(假数据)
const state = {
  // hot: 热度排序  time: 时间排序
  tabs: [
    {
      id: 1,
      name: '热度',
      type: 'hot'
    },
    {
      id: 2,
      name: '时间',
      type: 'time'
    }
  ],
  active: 'hot', ///当前选中的tab
  //评论列表数据
  list: [
    {
      id: 1,
      author: '刘德华',
      comment: '给我一杯忘情水',
      time: new Date('2021-10-10 09:09:00'),
      // 1: 点赞 0：无态度 -1:踩
      attitude: 1
    },
    {
      id: 2,
      author: '周杰伦',
      comment: '哎哟，不错哦',
      time: new Date('2021-10-11 09:09:00'),
      // 1: 点赞 0：无态度 -1:踩
      attitude: 0
    },
    {
      id: 3,
      author: '五月天',
      comment: '不打扰，是我的温柔',
      time: new Date('2021-10-11 10:09:00'),
      // 1: 点赞 0：无态度 -1:踩
      attitude: -1
    }
  ]
}

// 格式化方法
const formatTime = time => {
  return moment(time).format('YYYY年MM月DD日')
}
// 评论的模板
const element = (
  <div className="App">
    <div className="comment-container">
      {/* 评论数 */}
      <div className="comment-head">
        <span>{state.list.length} 评论</span>
      </div>
      {/* 排序 */}
      <div className="tabs-order">
        <ul className="sort-container">
          {/* <li className="on">按热度排序</li>
          <li>按时间排序</li> */}
          {/* tap列表渲染 */}
          {state.tabs.map(item => (
            // className="on" 写死的
            // className={}   动态绑定(使用)
            <li key={item.id} className={state.active === item.type ? 'on' : ''}>
              按{item.name}排序
            </li>
          ))}
        </ul>
      </div>

      {/* 添加评论 */}
      <div className="comment-send">
        <div className="user-face">
          <img className="user-head" src={tp} alt="" />
        </div>
        <div className="textarea-container">
          <textarea cols="80" rows="5" placeholder="发条友善的评论" className="ipt-txt" />
          <button className="comment-submit">发表评论</button>
        </div>
        <div className="comment-emoji">
          <i className="face"></i>
          <span className="text">表情</span>
        </div>
      </div>

      {/* 评论列表 */}
      <div className="comment-list">
        {state.list.map(item => (
          // 重复的结构
          <div className="list-item" key={item.id}>
            <div className="user-face">
              <img className="user-head" src={tp} alt="" />
            </div>
            <div className="comment">
              <div className="user">{item.author}</div>
              <p className="text">{item.comment}</p>
              <div className="info">
                {/* 对象不能绑定渲染 */}
                <span className="time">{formatTime(item.time)}</span>
                {/* 对评论点赞 */}
                {/* 
                   // 1: 点赞 0：无态度 -1:踩
                   数据： item.attitude
                   className="like liked" 写死
                   className={}
                   逻辑：
                   1. 不点赞（踩）：类名 = like
                   2. 点赞：类名 = like liked
                  */}
                <span className={item.attitude === 1 ? 'like liked' : 'like'}>
                  <i className="icon" />
                </span>
                <span className={item.attitude === -1 ? 'hate hated' : 'hate'}>
                  <i className="icon" />
                </span>
                <span className="reply btn-hover">删除</span>
              </div>
            </div>
          </div>
        ))}
      </div>
    </div>
  </div>
)

ReactDOM.render(element, document.getElementById('root'))
